package gespap2009;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;



// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.7EDEA28C-2738-96D8-5F42-F44A7F993588]
// </editor-fold>
public class Pedido {
    private List<EjemplarArticulo> listaEjemplarPedido;
    private Calendar fechap;
    private Calendar horap;
       // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.115F2258-C91B-B76B-124F-5380FF130A60]
    // </editor-fold>




    public Pedido(Calendar fecha, List<Articulo> articulos, Calendar hora) {
        listaEjemplarPedido = new ArrayList<EjemplarArticulo>();
        fechap = (Calendar) fecha.clone();
        horap = (Calendar) hora.clone();
        recorrerListaArticulos(articulos);

    }
    public List getListaEjemplarPedido(){

        return this.listaEjemplarPedido;
    }

    public Calendar getFechaPedido(){

        return this.fechap;
    }

    public Calendar getHoraPedido(){

        return this.horap;
    }


    /*Método que recorre la lista de articulos y va creando los ejemplares necesarios
     * los añade en la lista tanto de ejemplares pedidos, que no es la misma que
     * l lista de ejemplares existentes en la
     * entrada: lista de articulos
     * salida: -
     */
    private void recorrerListaArticulos(List<Articulo> articulos){
        //para saber si la insercion fue correcta
        boolean correcto;
         for(int i=0; i < articulos.size(); i++ ){
                    EjemplarArticulo ejemplar = new EjemplarArticulo
                    (articulos.get(i).generarIDEjemplar(),
                     articulos.get(i).getPrecio());
                    ejemplar.setEstadoArticuloEncargado(this.fechap,this.horap);
              //articulos.get(i).getListaEjemplares().add(ejemplar);
              correcto = this.listaEjemplarPedido.add(ejemplar);

              //falta añadir la excepcion

        }

    }
      public void imprimirPedido() {
        System.out.println("Pedido:");
        System.out.print(this.fechap.get(Calendar.DATE)+"/");
        System.out.print(this.fechap.get(Calendar.LONG)+"/");
        System.out.println(this.fechap.get(Calendar.YEAR));
        System.out.print(this.fechap.get(Calendar.HOUR)+":");
        System.out.print(this.fechap.get(Calendar.MINUTE)+"");
       
        for(int i=0; i < listaEjemplarPedido.size(); i++){
            listaEjemplarPedido.get(i).imprimirEjemplar();

        }
        System.out.println("******Fin del Pedido*******");
    }

 }

